<?php
// Функции преобразования объектов в простые типы
function sharpobj_conv_int_obj($val)
{
    if ($val instanceof sharpobj_data_item_int)
    {
        return $val;
    }elseif (is_int($val))
	{
	    $obj = new sharpobj_data_item_int();
	    $obj->set('plain',$val);
	    return $obj;
	}else
	{
	    return false;
	}
}

function sharpobj_conv_obj_int($obj)
{
	if ($obj instanceof sharpobj_data_item_int)
	{
		return $obj->get('plain');
	}elseif (is_int($obj))
	{
		return $obj;
	}else
	{
		return false;
	}
}
function sharpobj_conv_string_obj($val)
{
    if ($val instanceof sharpobj_data_item_string)
    {
        return $val;
    }elseif (is_string($val))
	{
	    $obj = new sharpobj_data_item_string();
	    $obj->set('plain',$val);
	    return $obj;
	}else
	{
	    return false;
	}
}

function sharpobj_conv_obj_string($obj)
{
	if ($obj instanceof sharpobj_data_item_string)
	{
		return $obj->get('plain');
	}else
	{
		return false;
	}
}
function sharpobj_conv_row_obj($val)
{
    if ($val instanceof sharpobj_data_item_row)
    {
        return $val;
    }elseif (is_string($val))
	{
	    $obj = new sharpobj_data_item_row();
	    $obj->set('plain',$val);
	    return $obj;
	}else
	{
	    return false;
	}
}

function sharpobj_conv_obj_row($obj)
{
	if ($obj instanceof sharpobj_data_item_row)
	{
		return $obj->get('plain');
	}else
	{
		return false;
	}
}


function sharpobj_conv_array_obj($val)
{
    if (is_a($val,'sharpobj_data_item_array'))
    {
        return $val;
    }elseif (is_array($val))
	{
	    // Преобразуем массив в объект
	    $obj = new sharpobj_data_item_array();
	    $obj->set('plain',$val);
	    return $obj;
	}else
	{
	    return false;
	}
}

function sharpobj_conv_obj_array($obj)
{
	if (is_a($obj,'sharpobj_data_item_array'))
	{
		return $obj->get('plain');
	}elseif (is_array($val))
	{
	    return $val;
	}else
	{
		return false;
	}
}
?>